#include <stdio.h>      // 标准输入输出

#include "ohos_init.h"  // 用于初始化服务(services)和功能(features)
#include "cmsis_os2.h"  // CMSIS-RTOS API V2

#include "iot_gpio.h"   // OpenHarmony HAL API：IoT硬件设备操作接口-GPIO
#include "hi_io.h"      // 海思 Pegasus SDK：IoT硬件设备操作接口-IO
#include "iot_pwm.h"    // OpenHarmony HAL API：IoT硬件设备操作接口-PWM

#include "hi_pwm.h"

// 主线程函数
void curtain_close()
{

    // 初始化GPIO模块
    IoTGpioInit(HI_IO_NAME_GPIO_1);
    IoTGpioInit(HI_IO_NAME_GPIO_2);

    //设置GPIO2为GPIO功能
    hi_io_set_func(HI_IO_NAME_GPIO_2,HI_IO_FUNC_GPIO_2_GPIO);
    // 设置GPIO1为GPIO功能
    hi_io_set_func(HI_IO_NAME_GPIO_1, HI_IO_FUNC_GPIO_1_GPIO);

    // 设置GPIO2为输出模式（引脚方向为输出）。
    IoTGpioSetDir(HI_IO_NAME_GPIO_2, IOT_GPIO_DIR_OUT);
    // 设置GPIO1为输出模式（引脚方向为输出）。
    IoTGpioSetDir(HI_IO_NAME_GPIO_1,IOT_GPIO_DIR_OUT);

    // 设置GPIO引脚的输出状态
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_2, IOT_GPIO_VALUE1);
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_1, IOT_GPIO_VALUE0);
    
    osDelay(5*100);
    //结束GPIO输出
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_2, IOT_GPIO_VALUE0);
    printf("窗帘已关闭\n");
    return;

}

void curtain_open()
{
    // 初始化GPIO模块
    IoTGpioInit(HI_IO_NAME_GPIO_1);
    IoTGpioInit(HI_IO_NAME_GPIO_2);

    //设置GPIO2为GPIO功能
    hi_io_set_func(HI_IO_NAME_GPIO_2,HI_IO_FUNC_GPIO_2_GPIO);
    // 设置GPIO3为GPIO功能
    hi_io_set_func(HI_IO_NAME_GPIO_1, HI_IO_FUNC_GPIO_1_GPIO);

    // 设置GPIO2为输出模式（引脚方向为输出）。
    IoTGpioSetDir(HI_IO_NAME_GPIO_2, IOT_GPIO_DIR_OUT);
    // 设置GPIO3为输出模式（引脚方向为输出）。
    IoTGpioSetDir(HI_IO_NAME_GPIO_1,IOT_GPIO_DIR_OUT);

    // 设置GPIO引脚的输出状态
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_2, IOT_GPIO_VALUE0);
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_1, IOT_GPIO_VALUE1);
    
    osDelay(5*100);//过五秒

    //结束GPIO输出
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_1, IOT_GPIO_VALUE0);
    printf("窗帘已打开\n");
    return;

}
